1. Field of the Invention
The present invention relates generally to image processing, and, more particularly, to a method and an apparatus for brightness-controlling image conversion, which can control the brightness, of an image without reducing the image's saturation.
2. Description of the Related Art
An image captured in under low brightness conditions by a portable camera or a typical camera or an excessively bright image may include details, that a user cannot easily distinguish due to the image's low contrast and, thus, frequently require the control of the brightness of the image. An image's quality can be improved by increasing the brightness of the image which is dark as a whole, or by reducing the brightness of the image which is bright as a whole. Further, when an image includes a relatively complex structure as well as relatively complex colors, the brightness of the image is sometimes controlled. Moreover, the brightness of an image is controlled in order to improve the outdoor visibility of the image. There is an algorithm for converting a color space pf an input image and then converting only information from a channel corresponding to brightness in order to reduce a noise such as a block noise or a contour noise.
However, in the above brightness changing scheme, only a brightness channel is usually controlled, and, thus, the color impression of the original input image is often lost. Specifically, when the brightness of the image increases, the saturation thereof, as perceived by a person's eyes becomes lower. A person, who sees the image, often has the feeling that colors appear to be missing in the image. In order to correct this disadvantage, the image is first processed by an algorithm for brightness correction, before an algorithm for saturation improvement is additionally applied to the processed image. However, in this case, even such a process of applying the dual algorithms cannot compensate for the saturation according to the degree of brightness change but can compensate for only the saturation of the output image. Therefore, there is a disadvantage in that the color impression of the original image cannot be reproduced as it is.
FIG. 1 illustrates a normal scheme for brightness correction. In general, a High Dynamic Range (HDR) algorithm or noise reduction algorithm for performing input/output brightness conversion by using a histogram or mapping function which converts an Red, Green and Blue (RGB) input image 110 to a YCbCr color space 120 as illustrated in FIG. 1 and shown in Equation (1) below. The most frequently used YCbCr color space is a BT.601 version (see equation (1)) applied to an Standard Definition Television (SDTV), and divides an input RGB image into a Y channel corresponding to a brightness and a Cb-Cr color space similar to an opponent color space. A Y value is usually called “luma,” and is similar to a luminance value perceived by the human eye.Y=0.299*R+0.587*G+0.114*B CB=128−0.168736*R−0.331264*G+0.5*B CR=128+0.5*R−0.418688*G−0.081312*B  (1)
Therefore, in Equation (1), an algorithm, which is intended to be applied to a Y value among the existing algorithms for brightness control, is applied to a Y value 130 (as denoted by reference numeral 140), and converted Y′ value 150 is obtained. The algorithm then converts a Y′CbCr 160, which includes the converted Y′ value 150 and existing Cb-Cr values, to RGB values by using Equation (2) below, and outputs converted R′G′B′ values 170.R′=298.082*Y′/256+408.5*CR/256−222.921G′=298.082*Y′/256−100.291*CB/256−208.120*CR/256+135.576B′=298.082*P/256+516.412*CB/256−276.836  (2)Otherwise, either an Hue-Saturation-Level (HSL) color space, an Hue-Saturation-Value (HSV) color space or an Hue-Saturation-Intensity (his) color space may be used instead of a YCbCr color space. When M is max(R, G, B) and m is min(R, G, B) even though there is a slight difference between hue values and there is a slight difference between saturation (or chroma) values, a C (Chroma) is defined as (M−m), and an H (Hue) is defined by Equation (3) below.
                              H          ′                =                  {                                                                                                                undefined                      ,                                                                                                                          if                        ⁢                                                                                                  ⁢                        C                                            =                      0                                                                                                                                                                                                                G                            -                            B                                                    C                                                ⁢                        mod                        ⁢                                                                                                  ⁢                        6                                            ,                                                                                                                          if                        ⁢                                                                                                  ⁢                        M                                            =                      R                                                                                                                                                                                                                B                            -                            R                                                    C                                                +                        2                                            ,                                                                                                                          if                        ⁢                                                                                                  ⁢                        M                                            =                      G                                                                                                                                                                                                                R                            -                            G                                                    C                                                +                        4                                            ,                                                                                                                          if                        ⁢                                                                                                  ⁢                        M                                            =                      B                                                                                  ⁢                                                          ⁢              H                        =                          60              ⁢              °              ×                              H                ′                                                                        (        3        )            
Also, even though each Intensity (I) value, an Level (L) value and a Value (V) value has many forms thereof, the I, L and V values are usually defined as I=(R+G+B)/3, V=max(R, G, B), and L=(max(R, G, B)+min(R, G, B))/2
The above method for using a color space refers to a method in which either an I, L or V value corresponding to a brightness is converted and the converted I, L or V value is inversely converted again while maintaining a hue value and a saturation (or chroma) value as they are, similarly to an algorithm for correcting a brightness by using only a Y value in a YCbCr color space.
With respect to controlling only a brightness, the above color space conversion may appear to be efficient in terms of the simplicity of an algorithm and resource management. However, when brightness increases, the saturation perceived by the human eye becomes lower, as described above. A saturation perceived by the human eye is usually defined in a CIE-L*a*b* color space as follows. First, CIE-L*a*b* values are defined, from XYZ, color values measured by a color spectro-radiometer or spectro-photometer, by Equation (4) below.
                                          L            *                    =                                    116              ⁢                              f                ⁡                                  (                                      Y                    /                                          Y                      n                                                        )                                                      -            16                          ⁢                                  ⁢                              a            *                    =                      500            ⁡                          [                                                f                  ⁡                                      (                                          X                      /                                              X                        n                                                              )                                                  -                                  f                  ⁡                                      (                                          Y                      /                                              Y                        n                                                              )                                                              ]                                      ⁢                                  ⁢                              b            *                    =                      200            ⁡                          [                                                f                  ⁡                                      (                                          Y                      /                                              Y                        n                                                              )                                                  -                                  f                  ⁡                                      (                                          Z                      /                                              Z                        n                                                              )                                                              ]                                      ⁢                                  ⁢        where        ⁢                                  ⁢                              f            ⁡                          (              t              )                                =                      {                                                                                t                                          1                      /                      3                                                                                                            t                    >                                                                  (                                                  6                          /                          29                                                )                                            3                                                                                                                                                                                      1                        3                                            ⁢                                                                        (                                                      29                            6                                                    )                                                2                                            ⁢                      t                                        +                                          4                      29                                                                                        otherwise                                                                                        (        4        )            
In Equation (4), L represents brightness, but has a perceptionally uniform characteristic normalized to white of a current light source. Also, a* and b* represent the characteristic of red-green as opponent colors and that of blue-yellow as opponent colors, respectively. L is similar to Y, and a* and b* are similar to Cb and Cr in terms of the YCbCr color space.
CIE-L*C*h* is defined by CIE-L*a*b*, L* coordinates are the same as L* in L*a*b*, and C* and h*, which represent chroma and hue, are defined by Equation (5) below.
                                          C            ab            *                    =                                                    a                                  *                  2                                            +                              b                                  *                  2                                                                    ⁢                                  ⁢                              h            ab                    =                      arc            ⁢                                                  ⁢            tan            ⁢                                          b                *                                            a                *                                                                        (        5        )            
C* and h* are similar to hue and saturation in the HSV color space or in the HSL color space as described above. However, coordinates in the above HSV or HSL color space are obtained from an input RGB to which a gamma correction is not applied, and, therefore, have difficulty in directly relating to a human visual system. Nevertheless, each of the C* and h* values also has perceptionally uniform characteristic.
In order to explain saturation perceived by the human eye, first, the meanings of the terms colorfulness, chroma and saturation will be briefly described. Colorfulness represents a color difference between any color and gray, and chroma can be defined as colorfulness for the brightness of a color, which looks white but is different than white in similar viewing conditions. Saturation can be defined as colorfulness for the brightness of a relevant color itself. Namely, even when the same color has different degrees of colorfulnesses depending on the brightnesses of the same color, the human eye can perceive the different degree of colorfulnesses of the color. Accordingly, with respect to saturation, it is possible to express saturation only after normalizing a current chroma value to a relevant brightness.
Therefore, saturation can be defined in the CIE-L*a*b* or CIE-L*C*h* color space by Equation (6) below.
                              S          ab                =                                            C              ab              *                                      L              *                                =                                                                      a                                      *                    2                                                  +                                  b                                      *                    2                                                                                      L              *                                                          (        6        )            
In Equation (6), in the same brightness (i.e. L* or Y), the higher a chroma value becomes (or the higher Cb-Cr values become), the higher a perceived saturation value becomes. Otherwise, in the same chroma value, the lower a brightness becomes, the higher a saturation value becomes, so that a person has the feeling that the relevant color becomes darker. On the contrary, in the same chroma value (similarly equal Cb-Cr values), the brighter a brightness becomes, the lower a perceived saturation becomes.
The existing method for changing only a Y value in the YCbCr color space has been frequently used for the efficient use of resources and based on the theory that the human visual system is more sensitive to luminance than chrominance. However, when the brightness of an output image is higher than that of an input image, the saturation perceived by the human eye is low, so that the image looks foggy and the image appears to be missing colors. However, several color space conversions, which are performed in order to make up for this disadvantage, significantly increase the complexity of hardware, and cause resource consumption and cost increase.
As a result, there is a need for a method in which brightness-controlling image conversion can be performed while maintaining a saturation thereof perceived by the human eye. Also, there is a need for a method in which the above brightness-controlling image conversion can be performed with low hardware complexity and low resource consumption.